home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1988 January / 64er_Magazin_88-01_1988_Markt__Technik_de_Side_A.d64 / linie zeichnen (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  883b  |  37 lines

  1. 39997 rem **********************
  2. 39998 rem * hires-linie ziehen *
  3. 39999 rem **********************
  4. 40000 if x1<0 or x1>319 or x2<0 or x2>319 then return
  5. 40010 if y1<0 or y1>199 or y2<0 or y2>199 then return
  6. 40020 mu=0:gosub 40150
  7. 40030 return
  8. 40097 rem ***************************
  9. 40098 rem * multicolor-linie ziehen *
  10. 40099 rem ***************************
  11. 40100 if x1<0 or x1>159 or x1<0 or x1>159 then return
  12. 40110 if y1<0 or y1>199 or y2<0 or y2>199 then return
  13. 40120 mu=1:gosub 40150
  14. 40130 return
  15. 40135 rem
  16. 40140 rem *** linie ziehen ***
  17. 40145 rem
  18. 40150 dx=x2-x1:dy=y2-y1
  19. 40154 rem
  20. 40155 rem ** senkrechte linie ? **
  21. 40156 rem
  22. 40160 if dx=0 then x=x1:for y=y1 to y2 step sgn(dy):gosub 40195:next y:return
  23. 40164 rem
  24. 40165 rem ** steigung errechnen **
  25. 40166 rem
  26. 40170 m=dy/dx
  27. 40175 fk=m:if m<1 then fk=1
  28. 40180 for x=x1 to x2 step sgn(dx)/fk:y=m*(x-x1)+y1
  29. 40185 gosub 40195:rem ** punkt setzen **
  30. 40190 next x:return
  31. 40192 rem
  32. 40193 rem ** hires oder multicolorpunkt **
  33. 40194 rem
  34. 40195 if mu=0 then sys 49204,x,y,f:goto 40197:rem ** hirespunkt setzen **
  35. 40196 sys 49607,f,x,y:rem ** multicolorpunkt setzen **
  36. 40197 return
  37.